package xin.marcher.module.seller.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import xin.marcher.module.seller.domain.entity.SellerGroupRelationDO;

import java.util.List;

/**
 * 卖家与卖家组关系Mapper
 */
@Mapper
public interface SellerGroupRelationMapper extends BaseMapper<SellerGroupRelationDO> {
    /**
     * 批量插入卖家与卖家组关系
     *
     * @param relationList
     * @return
     */
    Integer insertBatch(@Param("list") List<SellerGroupRelationDO> relationList);

    /**
     * 新增一条卖家与卖家组关系数据
     *
     * @param record
     * @return
     */
    int batchInsertSellerGroupRelation(@Param("list") List<SellerGroupRelationDO> record);

    /**
     * 根据卖家id逻辑删除一条卖家与卖家组关系
     *
     * @param sellerIds
     * @param sellerGroupId
     * @param delFlag
     * @return
     */
    int deleteBySellerId(@Param("sellerIds") List<Long> sellerIds,
                         @Param("sellerGroupId") Long sellerGroupId,
                         @Param("delFlag") Integer delFlag);

    /**
     * 根据卖家组id和卖家组类型批量查询卖家组关系
     *
     * @param groupIds
     * @param sellerGroupType
     * @return
     */
    List<SellerGroupRelationDO> querySellerGroupRelationInfo(@Param("groupIds") List<Integer> groupIds,
                                                             @Param("sellerGroupType") Integer sellerGroupType);
}